//
//  global.cpp
//  newAR
//
//  Created by ZJU_CVG on 15/9/7.
//  Copyright (c) 2015年 Shangjin Zhai. All rights reserved.
//
#include "global.h"

namespace markerAR
{
    //Ptr<Marker_Matcher> mm;
    Map* map;
    Ptr<ORB> orb;
    Ptr<ORB> orb_no;
    Ptr<DescriptorMatcher> binaryMatcher;
    Ptr<Eigen::Matrix3d> KMatrix;
    vector<int> markerRegistered;
    future<Mat> backThread;
    future<bool> keyframeThread;
    Ptr<Keyframe> last;
    Ptr<IntrinsicMatrix> K;
    Ptr<IntrinsicMatrix> scaleK;
    Eigen::Vector3d N;
    Ptr<ORB> myorb;
    Ptr<Tracking>  track;
    Relocalisation* relocal;
    std::thread  relocal_thread;
    std::thread  initial_thread;

//    Mat debugimg;
    int lastMarkerNum = -1;
    Ptr<cv::Size> imgSize;
    double D;
    double scale;
    Ptr<BRIEF> brief;
    std::mutex mutex_keyframe_global;
    std::mutex mutex_marker_global;
    BoWWrapperORB bow;
    Initializer* initialzer;
    

}